這裏所說的基本運算,是指常見的加、減、乘、除運算,需要區分矩陣乘法和矩陣點乘。為了方便運算,首先定義三個矩陣,為什麽三個矩陣呢,因為矩陣乘法要求前一個矩陣的行數等於後一個矩陣的列數。
a = tf.constant([[2, 2, 2], [3, 3, 3]], dtype=tf.float32)
b = tf.constant([[1, 1, 1], [2, 2, 2]], dtype=tf.float32)
c = tf.constant([[1, 1], [2, 2], [3, 3]], dtype=tf.float32)
# a =
# [[2. 2. 2.]
# [3. 3. 3.]]
# b =
# [[1. 1. 1.]
# [2. 2. 2.]]
# c =
# [[1. 1.]
# [2. 2.]
# [3. 3.]]
tf.add(x, y, name=None)
矩陣x和矩陣y對應位置的元素相加
tf.add(a, b)
[[3. 3. 3.]
[5. 5. 5.]]
tf.subtract(x, y, name=None)
矩陣x和矩陣y對應位置的元素相減
tf.subtract(a, b)
[[1. 1. 1.]
[1. 1. 1.]]
tf.multiply(x, y, name=None)
矩陣x和矩陣y對應位置的元素相乘
tf.multiply(a, b)
[[2. 2. 2.]
[6. 6. 6.]]
tf.divide(x, y, name=None)
矩陣x和矩陣y對應位置的元素相除
tf.divide(a, b)
[[2. 2. 2. ]
[1.5 1.5 1.5]]
tf.matmul(a,
b,
transpose_a=False,
transpose_b=False,
adjoint_a=False,
adjoint_b=False,
a_is_sparse=False,
b_is_sparse=False,
name=None)
矩陣a乘以矩陣b,返回的矩陣行數等矩陣a的行數,列數等於矩陣b的列數
tf.matmul(a, c)
[[12. 12.]
[18. 18.]]
實際上寫代碼時,為了方便,我們也可以直接使用運算符號:
加法:a+b
減法:a-b
乘法:ab
除法:a/b
注意:若a是一個tensor,b是一個scalar,則對a裏面的每個元素,都執行相同操作(+,-,,/)scalar